Create manpages and binaries including the version
authorBastian Blank <waldi@debian.org>
Mon, 26 Sep 2011 12:53:12 +0000 (13:53 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Sun, 5 Jan 2020 14:40:37 +0000 (14:40 +0000)
[bwh: Fix version insertion in perf man page cross-references and perf
man page title.  Install bash_completion script for perf with a
version-dependent name.  And do the same for trace.]

Gbp-Pq: Topic debian
Gbp-Pq: Name tools-perf-version.patch

tools/perf/Documentation/Makefile
tools/perf/Makefile.perf
tools/perf/util/Build
tools/perf/util/vdso.c

index adc5a7e44b98223e6350908a417862541ef57513..c7d00ed4a5b6f9a2c27c75bca910e1c0118f7bfb 100644 (file)
@@ -195,14 +195,16 @@ ifdef missing_tools
        $(error "You need to install $(missing_tools) for man pages")
 endif
 
-do-install-man: man
+do-install-man: $(addprefix install-man-,$(_DOC_MAN1))
+
+install-man-perf.1: $(OUTPUT)perf.1
+       $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
+       sed -e 's/"PERF"/"PERF_$(VERSION)"/' -e 's/fBperf-/fBperf_$(VERSION)-/g' $^ > $(DESTDIR)$(man1dir)/perf_$(VERSION).1
+
+install-man-perf%.1: $(OUTPUT)perf%.1
        $(call QUIET_INSTALL, Documentation-man) \
                $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir); \
-#              $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir); \
-#              $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir); \
-               $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir); \
-#              $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir); \
-#              $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
+               sed -e 's/"PERF\\-/"PERF_$(VERSION)\\-/' -e 's/fBperf-/fBperf_$(VERSION)-/g' $^ > $(DESTDIR)$(man1dir)/perf_$(VERSION)$*.1
 
 install-man: check-man-tools man do-install-man
 
index 902c792f326a517b50111eb7d1f77a19bf1dce9a..1b41817a54a26a80fa9bf43ddca8c611ddfcb903 100644 (file)
@@ -859,23 +859,23 @@ endif
 install-tools: all install-gtk
        $(call QUIET_INSTALL, binaries) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'; \
-               $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)'; \
-               $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf' '$(DESTDIR_SQ)$(bindir_SQ)/trace'
+               $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)'; \
+               $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)' '$(DESTDIR_SQ)$(bindir_SQ)/trace_$(VERSION)'
+       $(call QUIET_INSTALL, libexec) \
+               $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
 ifndef NO_PERF_READ_VDSO32
        $(call QUIET_INSTALL, perf-read-vdso32) \
-               $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(bindir_SQ)';
+               $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)';
 endif
 ifndef NO_PERF_READ_VDSOX32
        $(call QUIET_INSTALL, perf-read-vdsox32) \
-               $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(bindir_SQ)';
+               $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)';
 endif
 ifndef NO_JVMTI
        $(call QUIET_INSTALL, $(LIBJVMTI)) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(libdir_SQ)'; \
                $(INSTALL) $(OUTPUT)$(LIBJVMTI) '$(DESTDIR_SQ)$(libdir_SQ)';
 endif
-       $(call QUIET_INSTALL, libexec) \
-               $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
 ifndef NO_LIBBPF
        $(call QUIET_INSTALL, bpf-headers) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perf_include_instdir_SQ)/bpf'; \
@@ -913,7 +913,7 @@ ifndef NO_LIBPYTHON
 endif
        $(call QUIET_INSTALL, perf_completion-script) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \
-               $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf'
+               $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf_$(VERSION)'
        $(call QUIET_INSTALL, perf-tip) \
                $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(tip_instdir_SQ)'; \
                $(INSTALL) Documentation/tips.txt -t '$(DESTDIR_SQ)$(tip_instdir_SQ)'
@@ -938,7 +938,7 @@ install-python_ext:
 
 # 'make install-doc' should call 'make -C Documentation install'
 $(INSTALL_DOC_TARGETS):
-       $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:-doc=)
+       $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:-doc=) VERSION=$(VERSION)
 
 ### Cleaning rules
 
index 8dcfca1a882f0e9abb341fa45992d281f2e438b5..42f61d15072fc03c3923f528b9cdb90cf26bf3ac 100644 (file)
@@ -213,6 +213,7 @@ CFLAGS_libstring.o     += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ET
 CFLAGS_hweight.o       += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
 CFLAGS_parse-events.o  += -Wno-redundant-decls
 CFLAGS_header.o        += -include $(OUTPUT)PERF-VERSION-FILE
+CFLAGS_vdso.o          += -DPERFEXECDIR='"$(perfexec_instdir_SQ)"'
 
 $(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c FORCE
        $(call rule_mkdir)
index ba4b4395f35d8982ffb597e05f770f8f5aacb44f..16ed6bd737f98583b1b2cdd607602afc71d0b9bd 100644 (file)
@@ -55,12 +55,12 @@ static struct vdso_info *vdso_info__new(void)
                .vdso32  = {
                        .temp_file_name = VDSO__TEMP_FILE_NAME,
                        .dso_name = DSO__NAME_VDSO32,
-                       .read_prog = "perf-read-vdso32",
+                       .read_prog = PERFEXECDIR "/perf-read-vdso32",
                },
                .vdsox32  = {
                        .temp_file_name = VDSO__TEMP_FILE_NAME,
                        .dso_name = DSO__NAME_VDSOX32,
-                       .read_prog = "perf-read-vdsox32",
+                       .read_prog = PERFEXECDIR "/perf-read-vdsox32",
                },
 #endif
        };